package com.ruoyi.eduManage.mapper;

import com.ruoyi.eduManage.domain.EduTeacher;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 教师信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-24
 */
public interface EduTeacherMapper 
{
    /**
     * 查询教师信息
     * 
     * @param teacherId 教师信息主键
     * @return 教师信息
     */
    public EduTeacher selectEduTeacherByTeacherId(Long teacherId);

    /**
     * 查询教师信息列表
     * 
     * @param eduTeacher 教师信息
     * @return 教师信息集合
     */
    public List<EduTeacher> selectEduTeacherList(EduTeacher eduTeacher);

    /**
     * 新增教师信息
     * 
     * @param eduTeacher 教师信息
     * @return 结果
     */
    public int insertEduTeacher(EduTeacher eduTeacher);

    /**
     * 修改教师信息
     * 
     * @param eduTeacher 教师信息
     * @return 结果
     */
    public int updateEduTeacher(EduTeacher eduTeacher);

    /**
     * 删除教师信息
     * 
     * @param teacherId 教师信息主键
     * @return 结果
     */
    public int deleteEduTeacherByTeacherId(Long teacherId);

    /**
     * 批量删除教师信息
     * 
     * @param teacherIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEduTeacherByTeacherIds(Long[] teacherIds);
    
    /**
     * 获取教师班级打卡统计数据
     * 
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 统计数据列表
     */
    public List<Map<String, Object>> getTeacherClassStatistics(@Param("startDate") String startDate, @Param("endDate") String endDate);
}
